#!/bin/bash

# 确保脚本出错时退出
set -e

BUILD_DIR="build"
TARGET_DIR="/home/ss/WorkSpace/nfs" # 安装目录
MODULE_NAME="rtos_boot.ko"          # 模块文件名

# 清理构建目录
clean_build() {
    make clean
}

# 帮助信息
show_help() {
    echo "使用方法: $0 [选项]"
    echo
    echo "选项:"
    echo "  -c, --clean       清理构建目录"
    echo "  -h, --help        显示帮助信息"
    echo "  -d dir            设置安装目录"
    echo
    echo "无选项时，构建"
}

# 解析命令行参数
while [[ $# -gt 0 ]]; do
    case "$1" in
        -h|--help)
            show_help
            exit 0
            ;;
        -c|--clean)
            clean_build
            exit 0
            ;;
        -d)
            shift
            if [ -n "$1" ]; then
                TARGET_DIR="$1"
                shift
            else
                echo "错误: 缺少 -d 目标目录路径。"
                exit 1
            fi
            ;;
        *)
            echo "错误: 无效选项 $1"
            show_help
            exit 1
            ;;
    esac
done

# 执行make
make

# 删除临时文件
rm -rf ".rtos_boot.ko.cmd" ".rtos_boot.mod.o.cmd" ".rtos_boot.o.cmd" "Module.symvers" "modules.order" "rtos_boot.mod.c" "rtos_boot.mod.o" "rtos_boot.o"

# 拷贝生成的可执行文件到目标目录
if [ -f "$MODULE_NAME" ]; then
    echo "安装可执行文件..."
    cp "$MODULE_NAME" "$TARGET_DIR"
    echo "拷贝完成: $TARGET_DIR/$MODULE_NAME"
else
    echo "错误: 未找可执行文件 $MODULE_NAME"
    exit 1
fi

echo "构建和拷贝完成。"
